<template>
    <van-nav-bar title="退货商品" left-text="" left-arrow @click-left="goBack" />
    <section class="aui-flexView">
        <!-- 订单详细 -->
        <section class="aui-scrollView">
            <!-- 订单状态 -->
            <div class="aui-pay-change">
                <div class="aui-flex">
                    <div class="aui-flex-box">
                        <h3>{{ info.status_text }}</h3>
                    </div>
                    <div class="aui-pay-zfb">
                        <img src="/assets/images/icon-zfb.png" alt="" />
                    </div>
                </div>
            </div>

            <!-- 退货地址 -->
            <div class="aui-flex">
                <div style="font-size: 16px">退货地址：</div>
                <div class="aui-flex-box">
                    <h3>
                        {{ info.store.aftercare }} <em> {{ info.store.phone }}</em>
                    </h3>
                    <p> {{ info.store.address }}</p>
                </div>
            </div>

            <!-- 退货信息 -->
            <van-form @submit="onSubmit">
                <van-cell-group inset>
                    <!--寄件地址列表 -->
                    <van-field v-model="address_text" is-link readonly name="address" label="寄件地址列表"
                        placeholder="点击选择寄件地址" @click="showAddressPicker = true"
                        :rules="[{ required: true, message: '请选择寄件地址列表' }]" />
                    <van-popup v-model:show="showAddressPicker" position="bottom">
                        <van-picker :columns="AddressColumns" @confirm="onConfirmAddress"
                            @cancel="showAddressPicker = false" />
                    </van-popup>
                    <!--物流公司 -->
                    <van-field v-model="express_text" is-link readonly name="express" label="物流公司"
                        placeholder="点击选择物流公司" @click="showExpressPicker = true"
                        :rules="[{ required: true, message: '请选择物流公司' }]" />
                    <van-popup v-model:show="showExpressPicker" position="bottom">
                        <van-picker :columns="ExpressColumns" @confirm="onConfirmExpress"
                            @cancel="showExpressPicker = false" />
                    </van-popup>
                    <!-- 快递单号 -->
                    <van-field v-model="expresscode" name="expresscode" label="快递单号" placeholder="请输入快递单号"
                        :rules="[{ required: true, message: '请填写快递单号' }]" />
                </van-cell-group>
                <div style="margin: 16px;">
                    <van-button round block type="primary" native-type="submit">
                        提交
                    </van-button>
                </div>
            </van-form>

        </section>
    </section>
</template>
<script setup>
const { proxy } = getCurrentInstance()
const LoginUser = reactive(proxy.$cookies.get('LoginUser'));
const goBack = () => {
    proxy.$router.push('/order/index')
}
const orderid = ref(proxy.$route.query.orderid ?? 0)
const info = ref({
    address: {},
    store: {}
})
const expresscode = ref('')
const address_text = ref('')
const addressid = ref('')
const express_text = ref('')
const expressid = ref('')
const showAddressPicker = ref(false)
const showExpressPicker = ref(false)
const AddressColumns = ref([])
const ExpressColumns = ref([])

const onConfirmAddress = ({ selectedOptions }) => {
    address_text.value = selectedOptions[0]?.text;
    addressid.value = selectedOptions[0]?.value;
    showAddressPicker.value = false;
};

const onConfirmExpress = ({ selectedOptions }) => {
    express_text.value = selectedOptions[0]?.text;
    expressid.value = selectedOptions[0]?.value;
    showExpressPicker.value = false;
};

onBeforeMount(() => {
    getOrderInfoData()
    getAdressData()
    getExpressData()
})
const getOrderInfoData = async () => {
    let result = await Api.OrderInfo({
        busid: LoginUser.id,
        orderid: orderid.value
    })
    if (result.code == 1) {
        info.value = result.data
    }
}
const getAdressData = async () => {
    let result = await Api.OrderAddresslist({
        busid: LoginUser.id,
        orderid: orderid.value
    })
    if (result.code == 1) {
        AddressColumns.value = result.data
    }
}

const getExpressData = async () => {
    let result = await Api.OrderExpresslist({ busid: LoginUser.id })
    if (result.code == 1) {
        ExpressColumns.value = result.data
    }
}

const onSubmit = async () => {
    let result = await Api.OrderRefundgoods({
        busid: LoginUser.id,
        orderid: orderid.value,
        addressid: addressid.value,
        expressid: expressid.value,
        expresscode: expresscode.value
    })
    if (result.code == 1) {
        success({
            message: result.msg,
            onClose: () => {
                goBack()
            }
        });
    } else {
        error(result.msg);
    }
}
</script>
<style>
@import url('/assets/css/info.css');
</style>